//角色管理
function role_main() {
	return {
		id : 'BasicRole_main',
		xtype : 'jgrid',
		clazz : BasicRole,
		page : false,
		order : ['roleType->asc', 'roleSort->asc'],
		where : [['organId.id', '=', USER.areaId], ['roleType', '!=', '4']],
		groupField : 'roleType',
		features : [{
					padding : '5px',
					groupHeaderTpl : "<b  class='label label-info'>分组：{[ DICS['roleType'][values.groupValue] ]} 共{rows.length}条记录</b>",
					ftype : 'grouping'
				}],
		top : [{
					xtype : 'combo',
					op : '=',
					name : 'roleType',
					store : $.dic('roleType', ['4'])
				}, {
					xtype : 'textfield',
					op : 'like',
					name : 'roleName'
				}, $.search, '->', {
					key : 'A',
					iconCls : ion.add,
					text : '添加角色',
					handler : function() {
						BasicRole_form().save({
									before : function(form) {
										form.set('roleCode', $.num('ROLE'))
									},
									grid : ['BasicRole_main']
								});
					}
				}],
		columns : [{
					text : '#',
					maxWidth : 34,
					name : 'roleSort'
				}, {
					width : 150,
					"name" : "roleType",
					renderer : $.dicRenderer('roleType', function(v, t) {
								t.tdCls = v == '1' ? 'td-green' : (v == '2' ? 'td-yellow' : 'td-blue');
							})
				}, {
					width : 200,
					"name" : "roleCode"
				}, {
					width : 150,
					"name" : "roleName"
				}, {
					flex : 1,
					"name" : "roleReson"
				}, {
					xtype : 'actioncolumn',
					width : 100,
					items : [{
								tooltip : '修改',
								iconCls : 'fa-pencil-square td-yellow x-fa',
								handler : function(grid, rowIndex, colIndex) {
									var cmp = $('BasicRole_main'), rec = grid.getStore().getAt(rowIndex);
									cmp.select(rec);
									CLICK_TEXT = '修改角色';
									BasicRole_form().edit({
												grid : ['BasicRole_main']
											});
								}
							}, {
								tooltip : '删除',
								iconCls : 'fa-close td-red x-fa',
								handler : function(grid, rowIndex, colIndex) {
									var cmp = $('BasicRole_main'), rec = grid.getStore().getAt(rowIndex);
									cmp.select(rec);
									cmp.deletes({
												validate : [[BasicRoleModel, 'roleId.id', '角色{roleName}有关联模块，请解除关联后再尝试.'],
														[BasicRoleUser, 'roleId.id', '角色{roleName}有关联人员，请解除关联后再尝试.'],
														[BasicRolePosition, 'roleId.id', '角色{roleName}有关联岗位，请解除关联后再尝试.'],
														[BasicRoleOrganization, 'roleId.id', '角色{roleName}有关联组织机构，请解除关联后再尝试.']]
											});
								}
							}]
				}]
	}
}

function BasicRole_form() {
	return $({
				xtype : 'jform',
				clazz : BasicRole,
				fieldsSize : 0.5,
				hides : [{
							name : 'organId.id',
							value : USER.areaId
						}],
				defaults : {
					lw : 90
				},
				validate : [['roleName = ? , organId.id = ? ', 'roleName', '角色名称已存在']],
				fields : [{
							xtype : 'combo',
							store : $.dic('roleType', ['4']),
							req : true,
							maxLength : 10,
							"name" : "roleType"
						}, {
							readOnly : true,
							req : true,
							"name" : "roleCode"
						}, {
							req : true,
							"name" : "roleName"
						}, {
							value : 1,
							minValue : 0,
							xtype : 'numberfield',
							"name" : "roleSort"
						}, {
							size : 1,
							xtype : 'textarea',
							"name" : "roleReson"
						}]
			})
}